package com.flynn.rock.crm.service.employee;

import com.flynn.rock.crm.model.employee.request.PageEmployeeRequest;
import com.flynn.rock.crm.model.employee.request.ReceiveOrdersRequest;
import com.flynn.rock.crm.model.employee.request.SaveEmployeeRequest;
import com.flynn.rock.crm.model.employee.vo.EmployeeIdVo;
import com.flynn.rock.crm.model.employee.vo.EmployeeVo;
import com.flynn.rock.crm.model.employee.vo.ReceiveOrdersConfigVo;
import com.flynn.rock.model.PageResult;

public interface EmployeeService {

    EmployeeIdVo saveEmployee(SaveEmployeeRequest request);

    EmployeeVo getEmployee(Long employeeId);

    void deleteEmployee(Long employeeId);

    PageResult<EmployeeVo> pageEmployee(PageEmployeeRequest request);

    EmployeeIdVo receiveOrdersConfig(ReceiveOrdersRequest request);

    PageResult<ReceiveOrdersConfigVo> pageReceiveOrdersConfig(PageEmployeeRequest request);

    ReceiveOrdersConfigVo getReceiveOrdersConfig(Long employeeId);
}
